import tiktoken


def count_tokens(text: str, encoding: str = 'cl100k_base') -> int:
    """
    计算给定字符串在指定编码下的token数量。

    参数:
    text (str): 需要计算token数量的字符串。
    encoding (str): 使用的编码名称，默认为'cl100k_base'。

    返回:
    int: 字符串的token数量。
    """
    encoding_obj = tiktoken.get_encoding(encoding)
    return len(encoding_obj.encode(text))


# 测试英文字符串
print("tiktoken is great!", "\tToken 数量: ", count_tokens('tiktoken is great!'))

# 测试中文字符串
print("我喜欢编程。", "\tToken 数量: ", count_tokens('我喜欢编程。'))
